package com.ruoyi.cat.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 票卷相关内容对象 ad_ticket_roll
 * 
 * @author ruoyi
 * @date 2025-07-16
 */
public class AdTicketRoll extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 票劵标题 */
    @Excel(name = "票劵标题")
    private String ticketRollTitle;

    /** 省份 */
    @Excel(name = "省份")
    private Long province;

    /** 城市 */
    @Excel(name = "城市")
    private Long city;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String detailedAddress;

    /** 开始时间 */
  //  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
   // @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private String startTime;

    /** 结束时间 */
  //  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  //  @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private String endTime;

    /** 市场售价 */
    @Excel(name = "市场售价")
    private BigDecimal marketPrice;

    /** 折扣率 */
    @Excel(name = "折扣率")
    private BigDecimal discountedPrice;

    /** 库存 */
    @Excel(name = "库存")
    private Long inventory;

    /** 有效期开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "有效期开始日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date validStartDate;

    /** 有效期结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "有效期结束日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date validEndDate;

    /** 购票须知 */
    @Excel(name = "购票须知")
    private String guide;

    /** 详情 */
    @Excel(name = "详情")
    private String details;

    /** 阅读数量 */
    @Excel(name = "阅读数量")
    private Long quantity;

    /** 访问人数 */
    @Excel(name = "访问人数")
    private Long numberVisitors;

    /** 喜欢数量 */
    @Excel(name = "喜欢数量")
    private Long likeCount;

    /** 购买数量 */
    @Excel(name = "购买数量")
    private Long emption;

    /** 0正常 1下架 */
    @Excel(name = "0正常 1下架")
    private String state;

    /** 缩略图 */
    @Excel(name = "缩略图")
    private String thumbnail;

    /** 微信封面图 */
    @Excel(name = "微信封面图")
    private String wXImg;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 1微信 2支付宝 */
    @Excel(name = "1微信 2支付宝")
    private String type;

    private Long userId;

    //喜欢状态 0 未点赞 1 已点赞
    private String likeSatate;

    private Long forwardNum;

    public Long getForwardNum() {
        return forwardNum;
    }

    public void setForwardNum(Long forwardNum) {
        this.forwardNum = forwardNum;
    }

    public String getLikeSatate() {
        return likeSatate;
    }

    public void setLikeSatate(String likeSatate) {
        this.likeSatate = likeSatate;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    private List<AdTicketImage> ticketImageList;

    public List<AdTicketImage> getTicketImageList() {
        return ticketImageList;
    }

    public void setTicketImageList(List<AdTicketImage> ticketImageList) {
        this.ticketImageList = ticketImageList;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTicketRollTitle(String ticketRollTitle)
    {
        this.ticketRollTitle = ticketRollTitle;
    }

    public String getTicketRollTitle()
    {
        return ticketRollTitle;
    }
    public void setProvince(Long province) 
    {
        this.province = province;
    }

    public Long getProvince() 
    {
        return province;
    }
    public void setCity(Long city) 
    {
        this.city = city;
    }

    public Long getCity() 
    {
        return city;
    }
    public void setDetailedAddress(String detailedAddress) 
    {
        this.detailedAddress = detailedAddress;
    }

    public String getDetailedAddress() 
    {
        return detailedAddress;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public void setMarketPrice(BigDecimal marketPrice)
    {
        this.marketPrice = marketPrice;
    }

    public BigDecimal getMarketPrice() 
    {
        return marketPrice;
    }
    public void setDiscountedPrice(BigDecimal discountedPrice) 
    {
        this.discountedPrice = discountedPrice;
    }

    public BigDecimal getDiscountedPrice() 
    {
        return discountedPrice;
    }
    public void setInventory(Long inventory) 
    {
        this.inventory = inventory;
    }

    public Long getInventory() 
    {
        return inventory;
    }
    public void setValidStartDate(Date validStartDate) 
    {
        this.validStartDate = validStartDate;
    }

    public Date getValidStartDate() 
    {
        return validStartDate;
    }
    public void setValidEndDate(Date validEndDate) 
    {
        this.validEndDate = validEndDate;
    }

    public Date getValidEndDate() 
    {
        return validEndDate;
    }
    public void setGuide(String guide) 
    {
        this.guide = guide;
    }

    public String getGuide() 
    {
        return guide;
    }
    public void setDetails(String details) 
    {
        this.details = details;
    }

    public String getDetails() 
    {
        return details;
    }
    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }
    public void setNumberVisitors(Long numberVisitors) 
    {
        this.numberVisitors = numberVisitors;
    }

    public Long getNumberVisitors() 
    {
        return numberVisitors;
    }
    public void setLikeCount(Long likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Long getLikeCount() 
    {
        return likeCount;
    }
    public void setEmption(Long emption) 
    {
        this.emption = emption;
    }

    public Long getEmption() 
    {
        return emption;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setThumbnail(String thumbnail) 
    {
        this.thumbnail = thumbnail;
    }

    public String getThumbnail() 
    {
        return thumbnail;
    }
    public void setwXImg(String wXImg) 
    {
        this.wXImg = wXImg;
    }

    public String getwXImg() 
    {
        return wXImg;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("ticketRollTitle", getTicketRollTitle())
            .append("province", getProvince())
            .append("city", getCity())
            .append("detailedAddress", getDetailedAddress())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("marketPrice", getMarketPrice())
            .append("discountedPrice", getDiscountedPrice())
            .append("inventory", getInventory())
            .append("validStartDate", getValidStartDate())
            .append("validEndDate", getValidEndDate())
            .append("guide", getGuide())
            .append("details", getDetails())
            .append("createTime", getCreateTime())
            .append("quantity", getQuantity())
            .append("numberVisitors", getNumberVisitors())
            .append("likeCount", getLikeCount())
            .append("emption", getEmption())
            .append("state", getState())
            .append("thumbnail", getThumbnail())
            .append("wXImg", getwXImg())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("type", getType())
            .toString();
    }
}
